{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "40eabe7a-178d-43d4-aaef-abde56b7d5a7",
   "metadata": {},
   "source": [
    "## Simple Linear Regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "6cd11e9e-4aee-4e8a-b468-7be8979af535",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "4085f19d-0006-42a9-b07a-db8623f18647",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Weight</th>\n",
       "      <th>Height</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>45</td>\n",
       "      <td>120</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>58</td>\n",
       "      <td>135</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>48</td>\n",
       "      <td>123</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>60</td>\n",
       "      <td>145</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>70</td>\n",
       "      <td>160</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Weight  Height\n",
       "0      45     120\n",
       "1      58     135\n",
       "2      48     123\n",
       "3      60     145\n",
       "4      70     160"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Read the dataset\n",
    "df=pd.read_csv('height-weight.csv')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "13c05f65-aa2e-4783-80d0-9ad6df1729d2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Height')"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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/NFHHzWTk5PNv//97+a7775rzpo1y3Q6nWZdXV0Yqw6P2tpac/Dgweadd95pvvnmm2ZVVZW5adMm88CBA/429NeXampqAv69KikpMSWZmzdvNk2TvjrTb37zGzMtLc186aWXzKqqKvNvf/ubeeGFF5pPPPGEvw399aWZM2ea2dnZ5tatW839+/ebBQUFZkpKinn48GHTNPtuX23YsMH85S9/af797383JZnr1q0LOB5Kv9x9993mJZdcYpaUlJjl5eVmbm6uOWLECPPUqVO9fDXhQdixqIKCAnPEiBHtHvP5fKbD4TAfffRR/77GxkbTbrebTz31VC9VGDkeeOABc9y4cUGP01/ndu+995pDhw41fT4ffXWWG2+80bzrrrsC9t18883m7NmzTdPk360znThxwoyNjTVfeumlgP0jRowwf/nLX9JX/+fssBNKv3zxxRdmfHy8uXbtWn+bTz/91IyJiTGLi4t7rfZw4jGWhe3fv18ul0tZWVm65ZZb9OGHH0qSqqqqVF1drcmTJ/vbJiYmavz48dq5c2e4yg2bF198Ud/4xjf03e9+V+np6brqqqu0cuVK/3H6K7jm5mYVFhbqrrvukmEY9NVZxo0bp1dffVX79u2TJL399tvasWOHbrjhBkn8u3WmU6dOyev1ymazBezv16+fduzYQV8FEUq/lJWVqaWlJaCNy+VSTk5On+k7wo5FXXPNNXr22We1ceNGrVy5UtXV1Ro7dqyOHj2q6upqSVJGRkbAdzIyMvzH+pIPP/xQK1as0Fe+8hVt3LhRd999t+655x49++yzkkR/ncP69ev1xRdf6M4775REX53tgQce0K233qorrrhC8fHxuuqqq7RgwQLdeuutkuivMyUnJ2vMmDH69a9/rSNHjsjr9aqwsFBvvvmm3G43fRVEKP1SXV2thIQE9e/fP2gbq+Ot5xY1depU/z8PHz5cY8aM0dChQ/XMM8/o2muvlSQZhhHwHdM02+zrC3w+n77xjW/o3/7t3yRJV111ld577z2tWLFCd9xxh78d/dXWqlWrNHXqVLlcroD99NVpzz33nAoLC/WXv/xFV155pSoqKrRgwQK5XC7NmTPH347+Om3NmjW66667dMkllyg2NlYjR47U9773PZWXl/vb0Fft60y/9KW+485OH5GUlKThw4dr//79/llZZyf6mpqaNv/voC9w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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(df['Weight'],df['Height'])\n",
    "plt.xlabel(\"Weight\")\n",
    "plt.ylabel(\"Height\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "12819b15-f279-428c-b248-78477de10044",
   "metadata": {},
   "outputs": [],
   "source": [
    "## divide our dataset into independent and dependent edatures\n",
    "X=df[['Weight']] ##independent feature\n",
    "y=df['Height'] ##dependent feature"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "e31e7f4b-2f76-4688-b84f-e43f8b13a0fe",
   "metadata": {},
   "outputs": [],
   "source": [
    "## Train test split\n",
    "from sklearn.model_selection import train_test_split"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "f3ad4581-65a1-4477-b5c0-abd3b478488d",
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.20,random_state=42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "69c686bc-0d73-4980-8481-7df1d4a3d135",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(23, 1)"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "537e3b31-a8da-42ac-a270-5e2e81b65538",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((18, 1), (5, 1), (18,), (5,))"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape,X_test.shape,y_train.shape,y_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "f2cfa70f-f286-476a-9d23-0fc2df56f6a4",
   "metadata": {},
   "outputs": [],
   "source": [
    "## standardize the dataset Train independent data\n",
    "from sklearn.preprocessing import StandardScaler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "72097a86-8faa-4b1d-97f8-55ff250e8418",
   "metadata": {},
   "outputs": [],
   "source": [
    "scaler=StandardScaler()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "2de6d849-031e-4471-8aba-3f23b5216abb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Weight</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>105</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>48</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Weight\n",
       "12     105\n",
       "1       58\n",
       "13     100\n",
       "5       78\n",
       "2       48"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "b3d56bec-ef41-49be-ad00-f273f0349089",
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train=scaler.fit_transform(X_train)\n",
    "X_test=scaler.transform(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "b4e18748-5740-4cf6-ab46-2a1107b396ec",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7fbf7e170ac0>"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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M1bieS7cbreky//n5PF4Qss7OztH/J9Uol3refjlL3+p3/72tyPW/e53v4vqmEy+JiIpLCxUenr6iLsEV/os3W53xPYZGRkjfhk9WYzlPEQyd+5c1dfXx7o8o6Xi9RBLqX5NEFCuUWFhoQoLCyfs733wwQc6c+ZM2Je0KeJ5LmbMmCG3262Wlhbdeuutki4/w3/xxRe1ffv2uPzNsbrW8zBv3jwFg0G1traqoqJCkvTKK68oGAxq/vz51/z3TL4mIsnKylJ5eblaWlp01113hZa3tLTozjvvjLjNvHnz1NTUFLbsueee02233abMzMy41hsvYzkPkZw+fTppPvtYScXrIZZS/ppI5Bu6qeqdd95xTp8+7dTV1Tkf/ehHndOnTzunT592enp6Qm1mzpzpPP30047jOE5PT4+zadMm59ixY47P53MOHTrkzJs3z/nzP/9zp7u7O1GHERPRngvHcZxHH33UsW3befrpp53XXnvNuffeex2Px5PU56Kqqsr51Kc+5Rw/ftw5fvy4M2vWLGf58uVhbVLxmmhoaHAyMzOdPXv2OB0dHc7GjRudnJwc5ze/+Y3jOI7z0EMPOWvXrg21/5//+R/nIx/5iPPAAw84HR0dzp49e5zMzEznP//zPxN1CDER7XnYsWOH09jY6Lz55ptOe3u789BDDzmSnKeeeipRhxATPT09oX8DJDmPP/64c/r0aeedd95xHGfyXA+OE/25SNVr4koIKHFQU1PjSBoxHTp0KNRGkvODH/zAcRzH+cMf/uBUVlY6U6dOdTIzM51p06Y5NTU1zrvvvpuYA4ihaM+F41zualxbW+u43W4nOzvbuf32253XXntt4ouPoQ8++MC57777nNzcXCc3N9e57777RnQXTNVr4t///d+d6dOnO1lZWc6cOXOcF198MbSupqbGueOOO8LaHz582Ln11ludrKws54YbbnB27949wRXHRzTnYfv27c6NN97ouFwuZ8qUKc6CBQucZ599NgFVx9ZwV9k/nWpqahzHmVzXQ7TnIlWviSuxHOf/3zgCAAAwBN2MAQCAcQgoAADAOAQUAABgHAIKAAAwDgEFAAAYh4ACAACMQ0ABAADGIaAAAADjEFAAAIBxCCgAAMA4BBQAAGAcAgoAADDO/wF3uy155rzqwwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X_train,y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "ad25f18a-beb7-4e16-8ab1-27761dac4ce4",
   "metadata": {},
   "outputs": [],
   "source": [
    "## Train the Simple Linear Regression Model\n",
    "from sklearn.linear_model import LinearRegression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "33e470dd-3fad-4a85-82fe-2b58e6ffe715",
   "metadata": {},
   "outputs": [],
   "source": [
    "regressor=LinearRegression()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "1bef988c-a740-4bc6-8ca4-c9d5939d2d12",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LinearRegression()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">LinearRegression</label><div class=\"sk-toggleable__content\"><pre>LinearRegression()</pre></div></div></div></div></div>"
      ],
      "text/plain": [
       "LinearRegression()"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "regressor.fit(X_train,y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "ba779eb8-0657-4dba-b42a-4a65f2112829",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The slope or coefficient of weight is  [17.03440872]\n",
      "Intercept: 157.5\n"
     ]
    }
   ],
   "source": [
    "print(\"The slope or coefficient of weight is \",regressor.coef_)\n",
    "print(\"Intercept:\",regressor.intercept_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "a29d79b7-a4cd-4f45-ae75-1b7e6f0fe750",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fbf7d95faf0>]"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X_train,y_train)\n",
    "plt.plot(X_train,regressor.predict(X_train),'r')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "30e93ef4-9817-4ceb-818c-c758bcb71e8a",
   "metadata": {},
   "source": [
    "### prediction of train data\n",
    "1. predicted height output= intercept +coef_(Weights)\n",
    "2. y_pred_train =157.5 + 17.03(X_train)\n",
    "          \n",
    "### prediction of test data\n",
    "1. predicted height output= intercept +coef_(Weights)\n",
    "2. y_pred_test =157.5 + 17.03(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "d5c4e2e3-225b-4a7f-b195-7aacf83cee4a",
   "metadata": {},
   "outputs": [],
   "source": [
    "y_pred_test=regressor.predict(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "3e3b7b5a-a223-428b-b447-4722d277e781",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([161.08467086, 161.08467086, 129.3041561 , 177.45645118,\n",
       "        148.56507414]),\n",
       " 15    177\n",
       " 9     170\n",
       " 0     120\n",
       " 8     182\n",
       " 17    159\n",
       " Name: Height, dtype: int64)"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_pred_test,y_test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "d339f307-6da7-472f-bbe4-6602ee1b9746",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fbf7d5bea70>]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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hBiWeIBAyM83h60dqVcv6f33GU8PAC1AQAFao7RUysjwre/YIZ1xRvD7AYAwwRIP0BL19eYX+jUNJy++aC7nEE4AoFUIKIC//vpXczz9W28drk2YYI6nv+46+/oCgDDCEg9wojZvli680FpLTpa+/JLx9AAQYAQU4Hg8HqlzZ6my0lrfskU6/3x7egKAMMcSD3A0hiH98pfmePojw8lTT5nbCCcA0GY4gwI05/nnpRtvtNZGjJBee01qR64HgLZGQAGOtH271L27b53x9AAQVPwpCEjmePru3X3DydtvM54eAGxAQAGmTjXH02/ffrj2hz+YwWTQIPv6AoAIxhIPItebb0rDhllrvXtL773HeHoAsBkBBZFn717pZz/zrX/xhXT66cHvBwDggyUeRI76enPJpmk4eeklczmHcAIAjkFAQWT4y1/M8fRr1hyu3XabOZ7+2mvt6goAcBQs8SC8bdokXXSRtdaxo7mck5BgT08AgOMioCA8ff+9+U3DVVXW+tat0nnn2dERAMAPLPEgvBiGdPPNUocO1nAyb565jXACACGBMygIH88+a4aTI40cKb36KuPpASDEEFAQ+j77TOrRw7f+zTdSp07B7wcA0Gr8WYnQVVUlnXmmbzhZs8ZcziGcAEDIIqAgNP3+99LJJ0s7dhyuPfigGUwuvdS2tgAAgeF3QFm3bp1ycnKUkZEhl8ulpUuXHnXf22+/XS6XS3/5y18s9ZqaGk2cOFEpKSlq3769Ro8erT179vjbCiLRypWSyyX9+c+Ha+efL9XUSNOn29cXACCg/A4ohw4dUu/evTV79uxj7rd06VK99957ysjI8Nk2adIk5eXlafHixdqwYYMqKys1atQo1dfX+9sOIsXevWYwGTHCWv/yS2nLFik21p6+AABtwu+LZEeMGKERTX9JNPH111/rzjvv1BtvvKGRI0datnk8Hs2fP18LFy7UkCFDJEmLFi1SZmamVq1apWFNv7wNke3HH6UhQ6S1a631JUuka66xpycAQJsL+DUoDQ0NGj9+vKZMmaJzzjnHZ3thYaHq6uo0dOhQby0jI0NZWVkqKCho9jVrampUUVFheSACPP64FBNjDSe3326OpyecAEBYC/htxo888oiio6N11113Nbu9rKxMsbGx6tChg6WempqqsrKyZp8zc+ZMzZgxI9Ctwqnee0/q189aS001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CssjqGprpQsu8A0ny5ebyzmEEwAAAqpNAsprr72mU045RfHx8Zo1a5by8/OVkpIiSSorK1NsbKw6dOhgeU5qaqrKysqafb2ZM2fK7XZ7H5nB/L6ahx6S4uKkwsLDtXvuMYPJlVcGrw8AACJImwSUQYMGqaioSAUFBRo+fLjGjh2r8vLyYz7HMAy5XK5mt02bNk0ej8f72L17d1u0bbV+vXmdyf33H6516yYdOiQ99ljb//sAAESwNgko7du3189//nP169dP8+fPV3R0tObPny9JSktLU21trQ4cOGB5Tnl5uVJTU5t9vbi4OCUmJloebebbb81gcskl1vq2bdKXX/LdOQAABEFQ5qAYhqGamhpJUnZ2tmJiYpSfn+/dXlpaquLiYg0YMCAY7RxddbXUqZO19swz5nLO2Wfb0xMAABHI70mylZWV2rFjh/fnkpISFRUVKSkpScnJyXrooYc0evRopaena9++fZozZ4727Nmj6667TpLkdrs1YcIETZ48WcnJyUpKStK9996rXr16aciQIYF7Zy3hckmpqdI330jXXy8995xZAwAAQeV3QNm8ebMGDRrk/fmee+6RJOXm5mrevHn69NNP9fTTT+u7775TcnKyLrzwQq1fv17nnHOO9zmzZs1SdHS0xo4dq6qqKg0ePFgLFixQVFRUAN5SK8TFmbcMR0cTTAAAsFGr5qDYxbY5KAAAoMUcMwcFAACgJQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcQgoAADAcaLtbsBJ6hsMbSrZr/KD1eqUEK++3ZIU1c5ld1sAAEQcv8+grFu3Tjk5OcrIyJDL5dLSpUu92+rq6vQf//Ef6tWrl9q3b6+MjAz98pe/1N69ey2vUVNTo4kTJyolJUXt27fX6NGjtWfPnla/mdZYWVyqgY+8rRv+/q7+fXGRbvj7uxr4yNtaWVxqa18AAEQivwPKoUOH1Lt3b82ePdtn2w8//KAtW7bogQce0JYtW/Tyyy9r+/btGj16tGW/SZMmKS8vT4sXL9aGDRtUWVmpUaNGqb6+vuXvpBVWFpfqjkVbVOqpttTLPNW6Y9EWQgoAAEHmMgzDaPGTXS7l5eVpzJgxR93n/fffV9++fbVz50516dJFHo9HHTt21MKFCzVu3DhJ0t69e5WZmakVK1Zo2LBhx/13Kyoq5Ha75fF4lJiY2NL2JZnLOgMfedsnnDRySUpzx2vDf1zOcg8AAK3gz+/vNr9I1uPxyOVy6dRTT5UkFRYWqq6uTkOHDvXuk5GRoaysLBUUFDT7GjU1NaqoqLA8AmVTyf6jhhNJMiSVeqq1qWR/wP5NAABwbG0aUKqrqzV16lTdeOON3qRUVlam2NhYdejQwbJvamqqysrKmn2dmTNnyu12ex+ZmZkB67H84NHDSUv2AwAArddmAaWurk7XX3+9GhoaNGfOnOPubxiGXK7ml1CmTZsmj8fjfezevTtgfXZKiA/ofgAAoPXaJKDU1dVp7NixKikpUX5+vmWdKS0tTbW1tTpw4IDlOeXl5UpNTW329eLi4pSYmGh5BErfbklKd8fraFeXuCSlu81bjgEAQHAEPKA0hpPPP/9cq1atUnJysmV7dna2YmJilJ+f762VlpaquLhYAwYMCHQ7xxXVzqXpOT0lySekNP48PacnF8gCABBEfg9qq6ys1I4dO7w/l5SUqKioSElJScrIyNAvfvELbdmyRa+99prq6+u915UkJSUpNjZWbrdbEyZM0OTJk5WcnKykpCTde++96tWrl4YMGRK4d+aH4VnpmntzH81Yts1ywWyaO17Tc3pqeFa6LX0BABCp/L7NeM2aNRo0aJBPPTc3Vw8++KC6devW7PNWr16tyy67TJJ58eyUKVP03HPPqaqqSoMHD9acOXNO+OLXQN5mfCQmyQIA0Hb8+f3dqjkodmmrgAIAANqOo+agAAAA+IuAAgAAHIeAAgAAHIeAAgAAHIeAAgAAHIeAAgAAHIeAAgAAHIeAAgAAHIeAAgAAHMfv7+JxgsbhtxUVFTZ3AgAATlTj7+0TGWIfkgHl4MGDknTC390DAACc4+DBg3K73cfcJyS/i6ehoUF79+5VQkKCXK7Q+zK/iooKZWZmavfu3XyXkJ84dq3D8Wsdjl/rcPxaLlyOnWEYOnjwoDIyMtSu3bGvMgnJMyjt2rVT586d7W6j1RITE0P6g2Ynjl3rcPxah+PXOhy/lguHY3e8MyeNuEgWAAA4DgEFAAA4DgHFBnFxcZo+fbri4uLsbiXkcOxah+PXOhy/1uH4tVwkHruQvEgWAACEN86gAAAAxyGgAAAAxyGgAAAAxyGgAAAAxyGgBMFDDz2kAQMG6OSTT9app556Qs+55ZZb5HK5LI9+/fq1baMO1ZLjZxiGHnzwQWVkZOikk07SZZddpo8//rhtG3WoAwcOaPz48XK73XK73Ro/fry+//77Yz4nkj9/c+bMUbdu3RQfH6/s7GytX7/+mPuvXbtW2dnZio+P1+mnn6558+YFqVPn8efYrVmzxucz5nK59OmnnwaxY+dYt26dcnJylJGRIZfLpaVLlx73OeH+2SOgBEFtba2uu+463XHHHX49b/jw4SotLfU+VqxY0UYdOltLjt+f/vQnPf7445o9e7bef/99paWl6YorrvB+j1MkufHGG1VUVKSVK1dq5cqVKioq0vjx44/7vEj8/L3wwguaNGmS/vM//1Nbt27VxRdfrBEjRmjXrl3N7l9SUqIrr7xSF198sbZu3ar77rtPd911l5YsWRLkzu3n77Fr9Nlnn1k+Z2eeeWaQOnaWQ4cOqXfv3po9e/YJ7R8Rnz0DQfPPf/7TcLvdJ7Rvbm6ucdVVV7VpP6HmRI9fQ0ODkZaWZjz88MPeWnV1teF2u4158+a1YYfOs23bNkOS8e6773prGzduNCQZn3766VGfF6mfv759+xq//e1vLbUePXoYU6dObXb/3//+90aPHj0stdtvv93o169fm/XoVP4eu9WrVxuSjAMHDgShu9AiycjLyzvmPpHw2eMMioOtWbNGnTp10llnnaVbb71V5eXldrcUEkpKSlRWVqahQ4d6a3Fxcbr00ktVUFBgY2fBt3HjRrndbl100UXeWr9+/eR2u497LCLt81dbW6vCwkLL50aShg4detRjtXHjRp/9hw0bps2bN6uurq7NenWalhy7Rueff77S09M1ePBgrV69ui3bDCuR8NkjoDjUiBEj9Oyzz+rtt9/WY489pvfff1+XX365ampq7G7N8crKyiRJqamplnpqaqp3W6QoKytTp06dfOqdOnU65rGIxM/fd999p/r6er8+N2VlZc3u/+OPP+q7775rs16dpiXHLj09XX/729+0ZMkSvfzyy+revbsGDx6sdevWBaPlkBcJnz0CSgs9+OCDzV7gdeRj8+bNLX79cePGaeTIkcrKylJOTo5ef/11bd++XcuXLw/gu7BPWx8/SXK5XJafDcPwqYUqf45fc+/5eMci3D9/x+Lv56a5/ZurRwJ/jl337t116623qk+fPurfv7/mzJmjkSNH6tFHHw1Gq2Eh3D970XY3EKruvPNOXX/99cfc57TTTgvYv5eenq6uXbvq888/D9hr2qktj19aWpok8y+M9PR0b728vNznL45QdaLH78MPP9Q333zjs+3bb7/161iE2+evOSkpKYqKivL5i/9Yn5u0tLRm94+OjlZycnKb9eo0LTl2zenXr58WLVoU6PbCUiR89ggoLZSSkqKUlJSg/Xv79u3T7t27Lb9wQ1lbHr9u3bopLS1N+fn5Ov/88yWZa+Rr167VI4880ib/ZrCd6PHr37+/PB6PNm3apL59+0qS3nvvPXk8Hg0YMOCE/71w+/w1JzY2VtnZ2crPz9fVV1/trefn5+uqq65q9jn9+/fXsmXLLLU333xTF1xwgWJiYtq0XydpybFrztatW8P6MxZIEfHZs/MK3Uixc+dOY+vWrcaMGTOMU045xdi6dauxdetW4+DBg959unfvbrz88suGYRjGwYMHjcmTJxsFBQVGSUmJsXr1aqN///7Gz372M6OiosKut2Ebf4+fYRjGww8/bLjdbuPll182PvroI+OGG24w0tPTI/L4DR8+3Dj33HONjRs3Ghs3bjR69epljBo1yrIPnz/T4sWLjZiYGGP+/PnGtm3bjEmTJhnt27c3vvrqK8MwDGPq1KnG+PHjvft/+eWXxsknn2zcfffdxrZt24z58+cbMTExxksvvWTXW7CNv8du1qxZRl5enrF9+3ajuLjYmDp1qiHJWLJkiV1vwVYHDx70/rdNkvH4448bW7duNXbu3GkYRmR+9ggoQZCbm2tI8nmsXr3au48k45///KdhGIbxww8/GEOHDjU6duxoxMTEGF26dDFyc3ONXbt22fMGbObv8TMM81bj6dOnG2lpaUZcXJxxySWXGB999FHwm3eAffv2GTfddJORkJBgJCQkGDfddJPPrZ18/g576qmnjK5duxqxsbFGnz59jLVr13q35ebmGpdeeqll/zVr1hjnn3++ERsba5x22mnG3Llzg9yxc/hz7B555BHjjDPOMOLj440OHToYAwcONJYvX25D187QeNt100dubq5hGJH52XMZxk9X1QAAADgEd/EAAADHIaAAAADHIaAAAADHIaAAAADHIaAAAADHIaAAAADHIaAAAADHIaAAAADHIaAAAADHIaAAAADHIaAAAADHIaAAAADH+f/JJJhz+gy67gAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X_test,y_test)\n",
    "plt.plot(X_test,regressor.predict(X_test),'r')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7d40f4ec-6e49-4d73-8c19-fc4764e8a335",
   "metadata": {},
   "source": [
    "## Performance Metrics\n",
    "\n",
    "## MSE,MAE,RMSE\n",
    "## R square and adjusted R square"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "44265cfb-5fd2-4e0d-8a23-6725fbb243f5",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import mean_squared_error,mean_absolute_error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "928a19b9-e86b-45ab-8020-e1700644f5a6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "109.77592599051664\n",
      "9.822657814519232\n",
      "10.477400726827081\n"
     ]
    }
   ],
   "source": [
    "mse=mean_squared_error(y_test,y_pred_test)\n",
    "mae=mean_absolute_error(y_test,y_pred_test)\n",
    "rmse=np.sqrt(mse)\n",
    "print(mse)\n",
    "print(mae)\n",
    "print(rmse)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5b568581-bad5-4bf2-97a8-92c779461c39",
   "metadata": {},
   "source": [
    "## R square \n",
    "Formula\n",
    "\n",
    "**R^2 = 1 - SSR/SST**\n",
    "\n",
    "\n",
    "R^2\t=\tcoefficient of determination\n",
    "SSR\t=\tsum of squares of residuals\n",
    "SST\t=\ttotal sum of squares"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "a72c1740-96e6-4e3e-a488-4da3c2d3c12d",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import r2_score\n",
    "score=r2_score(y_test,y_pred_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "692e7803-f8ef-439d-8e2f-8af53571b9ff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.776986986042344"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "score"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7cf493e6-b267-4daa-922d-f2a20099d6ab",
   "metadata": {},
   "source": [
    "## Adjusted R Square"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0f324594-46b0-4c25-8bb3-22986448719b",
   "metadata": {},
   "source": [
    "**Adjusted R2 = 1 – [(1-R2)*(n-1)/(n-k-1)]**\n",
    "\n",
    "where:\n",
    "\n",
    "R2: The R2 of the model\n",
    "n: The number of observations\n",
    "k: The number of predictor variables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "2484e8f1-56ba-40cc-91b1-6f5ee2202671",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7026493147231252"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#display adjusted R-squared\n",
    "1 - (1-score)*(len(y_test)-1)/(len(y_test)-X_test.shape[1]-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "65f788a2-d759-4d19-b17d-6976c3a3a67f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-2 {color: black;background-color: white;}#sk-container-id-2 pre{padding: 0;}#sk-container-id-2 div.sk-toggleable {background-color: white;}#sk-container-id-2 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-2 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-2 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-2 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-2 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-2 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-2 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-2 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-2 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-2 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-2 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-2 div.sk-item {position: relative;z-index: 1;}#sk-container-id-2 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-2 div.sk-item::before, #sk-container-id-2 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-2 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-2 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-2 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-2 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-2 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-2 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-2 div.sk-label-container {text-align: center;}#sk-container-id-2 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-2 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-2\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LinearRegression()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" checked><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">LinearRegression</label><div class=\"sk-toggleable__content\"><pre>LinearRegression()</pre></div></div></div></div></div>"
      ],
      "text/plain": [
       "LinearRegression()"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "regressor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "6d23d88b-5671-462d-8bbd-d19378f6d42d",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/conda/lib/python3.10/site-packages/sklearn/base.py:409: UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[0.32350772]])"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## new data point weight is 80\n",
    "\n",
    "scaled_weight=scaler.transform([[80]])\n",
    "scaled_weight"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "d18dff45-68d4-4721-a201-bc831f275009",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.32350772])"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "scaled_weight[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "b30f6200-9949-401b-b374-dc2953dca62f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The height prediction for weight 80 kg is : [163.01076266]\n"
     ]
    }
   ],
   "source": [
    "print(\"The height prediction for weight 80 kg is :\",regressor.predict([scaled_weight[0]]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "f4aacc74-d734-4a1c-9acc-c88607d21564",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7fbf7d7077f0>"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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WJhVX18/lsOdENczR16v15JkHThwwLIs5uiy9vZ262c/+5nV0tJipaenW9u3b/dtm0xzNNz8lJaWWkuWLLnqMZNpfixr+DkqKSmx7r///qsewxxdacmSJdbdd9/te8wcWdacOXOsP//5z37rbr31VutPf/qTZVnBM0eT4hWUQHm9XtlsNv30pz+VJDU1NWlgYEB5eXm+fdxutzIzM3XkyJEJGuXE6e/v14svviiHw6GsrCxJzJH03Y9Yrlq1ShUVFZozZ84V25kj6eDBg0pKStLMmTP10EMPqbOz07dtss/P0NCQ9u3bp5kzZyo/P19JSUm64447/F6+n+xz9ENffvml9u3bp7KyMt865khauHChXn/9dX3xxReyLEvvvPOOTp8+rfz8fEnBM0cEyg9cunRJjz32mH73u9/5flypo6NDkZGRio+P99s3OTlZHR0dEzHMCfHGG2/oJz/5iaKjo7V9+3Y1NDQoMTFREnMkSU8//bTsdrseffTRYbdP9jlavHixXn31Vb399tvatm2b3nvvPd19993q6+uTxPx0dnaqp6dHTz31lAoKCvTWW29p2bJlWr58ud59911JzNEPvfzyy4qNjdXy5ct965gj6a9//asyMjI0bdo0RUZGqqCgQDt27NDChQslBc8cBeWvGY+VgYEB3XvvvRoaGtKOHTuuub9lWbLZbOMwMjPk5OSoublZX3/9tV566SWtXLlSR48eVVJS0lWPmSxz1NTUpOeff14nTpwI+HonyxyVlJT4/jszM1O33Xab0tPTtW/fPr8nmB+aLPMzNDQkSVqyZInWrVsnSbrlllt05MgRvfDCC7rrrruueuxkmaMf2rVrl+677z6/z+hczWSao7/+9a/6z3/+o9dff13p6ek6dOiQ/vCHP8jlcik3N/eqx5k2R7yC8r8GBga0cuVKtba2qqGhwe+nqVNSUtTf368LFy74HdPZ2ank5OTxHuqEiYmJ0U033aT58+erqqpKdrtdVVVVkpijw4cPq7OzU2lpabLb7bLb7frss89UXl6u6dOnS2KOfsjlcik9PV0ff/yxJOYnMTFRdrtdGRkZfutvvvlm37d4Jvscfd/hw4d16tQpPfjgg37rJ/sc9fb26vHHH9ezzz6roqIi/eIXv9Dq1atVUlKiv/zlL5KCZ44IFP1fnHz88cc6cOCAEhIS/LZnZ2crIiJCDQ0NvnUej0ctLS1asGDBeA/XGJZl+V6en+xztGrVKn3wwQdqbm72LW63WxUVFXrzzTclMUc/dO7cObW1tcnlcklifiIjI3X77bfr1KlTfutPnz6t9PR0SczR91VVVSk7O9v3ObjLJvscDQwMaGBgQGFh/k/v4eHhvlfpgmWOJsVbPD09PTpz5ozvcWtrq5qbm+V0OuV2u/Wb3/xGJ06c0BtvvKHBwUHfe3BOp1ORkZFyOBwqKytTeXm5EhIS5HQ6tWHDBs2dO3fEl8uCyUhzlJCQoCeffFLFxcVyuVw6d+6cduzYofb2dt1zzz2SNOnnKC0t7YqwjYiIUEpKimbNmiUp9OdopPlxOp3avHmzVqxYIZfLpU8//VSPP/64EhMTtWzZMkmhPz/Stf8NVVRUqKSkRHfeeadycnJUX1+vvXv36uDBg5KYo7S0NElSV1eXXnvtNW3btu2K45mjNN11112qqKjQlClTlJ6ernfffVevvPKKnn32WUlBNEcT9v2hcfTOO+9Ykq5YSktLrdbW1mG3SbLeeecd3zl6e3ut1atXW06n05oyZYpVWFhoff755xN3UaNspDnq7e21li1bZrndbisyMtJyuVxWcXGxdezYMb9zTOY5Gs4Pv2ZsWaE9RyPNz7fffmvl5eVZU6dOtSIiIqy0tDSrtLT0imsP5fmxrOv7N1RVVWXddNNNVnR0tJWVlWXV1dX5nYM5sqy//e1v1pQpU6xvvvlm2HNM9jnyeDzWAw88YLndbis6OtqaNWuWtW3bNmtoaMh3jmCYI5tlWdaY1Q8AAMAN4DMoAADAOAQKAAAwDoECAACMQ6AAAADjECgAAMA4BAoAADAOgQIAAIxDoAAAAOMQKAAAwDgECgAAMA6BAgAAjEOgAAAA4/x/4KxyjQr714oAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Assumptions\n",
    "## plot a scatter plot for the prediction\n",
    "plt.scatter(y_test,y_pred_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "a02ed490-9cfb-40c6-9425-451d7464fc5e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15    15.915329\n",
       "9      8.915329\n",
       "0     -9.304156\n",
       "8      4.543549\n",
       "17    10.434926\n",
       "Name: Height, dtype: float64"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Residuals\n",
    "residuals=y_test-y_pred_test\n",
    "residuals"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "c2023e03-ce70-45bc-b230-ae368dd8f697",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_491/2747191050.py:3: UserWarning: \n",
      "\n",
      "`distplot` is a deprecated function and will be removed in seaborn v0.14.0.\n",
      "\n",
      "Please adapt your code to use either `displot` (a figure-level function with\n",
      "similar flexibility) or `histplot` (an axes-level function for histograms).\n",
      "\n",
      "For a guide to updating your code to use the new functions, please see\n",
      "https://gist.github.com/mwaskom/de44147ed2974457ad6372750bbe5751\n",
      "\n",
      "  sns.distplot(residuals,kde=True)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot: xlabel='Height', ylabel='Density'>"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABVH0lEQVR4nO3deVxU5f4H8M8szAyy7/sqLiiu4AKKZiWmVmpWdvuV1s3uxRZT8l5T63az27XVzHKpXLreFq3UshspZIobLiCoKaLIjoyI7OvAzPn9QU4RaIDAmeF83q/XvIQzzxm+5xGGD88553lkgiAIICIiIpIQudgFEBEREXU3BiAiIiKSHAYgIiIikhwGICIiIpIcBiAiIiKSHAYgIiIikhwGICIiIpIcpdgFmCKDwYDLly/DxsYGMplM7HKIiIioDQRBQGVlJTw9PSGX33yMhwGoFZcvX4aPj4/YZRAREVEH5OXlwdvb+6ZtGIBaYWNjA6CpA21tbUWuhoiIiNqioqICPj4+xt/jN8MA1Irrp71sbW0ZgIiIiMxMWy5f4UXQREREJDkMQERERCQ5DEBEREQkOQxAREREJDkMQERERCQ5DEBEREQkOQxAREREJDkMQERERCQ5DEBEREQkOQxAREREJDkMQERERCQ5DEBEREQkOQxAREREJDkMQERERCQ5DEBEREQkOUqxCyAi6m6fH8sVu4Qe6eFRvmKXQNRmHAEiIiIiyWEAIiIiIslhACIiIiLJYQAiIiIiyWEAIiIiIslhACIiIiLJYQAiIiIiyWEAIiIiIslhACIiIiLJYQAiIiIiyWEAIiIiIslhACIiIiLJYQAiIiIiyWEAIiIiIskRPQCtXbsWAQEB0Gg0CA0NxcGDB2/aPiEhAaGhodBoNAgMDMT69etbtCkrK8PTTz8NDw8PaDQaBAcHIzY2tqsOgYiIiMyMqAFo27ZtWLBgAZYtW4aUlBRERkZi8uTJyM3NbbV9VlYWpkyZgsjISKSkpGDp0qWYP38+tm/fbmyj0+kwceJEZGdn4+uvv0Z6ejo+/vhjeHl5dddhERERkYmTCYIgiPXFR40aheHDh2PdunXGbcHBwZg+fTpWrFjRov3ixYuxa9cupKWlGbdFR0fj1KlTSExMBACsX78eb731Fs6fPw8LC4sO1VVRUQE7OzuUl5fD1ta2Q69BRKbr82Ot/5FFt+bhUb5il0AS157f36KNAOl0OiQnJyMqKqrZ9qioKBw5cqTVfRITE1u0nzRpEpKSktDQ0AAA2LVrF8LDw/H000/Dzc0NISEh+Pe//w29Xn/DWurr61FRUdHsQURERD2XaAGouLgYer0ebm5uzba7ublBq9W2uo9Wq221fWNjI4qLiwEAmZmZ+Prrr6HX6xEbG4sXX3wR77zzDl577bUb1rJixQrY2dkZHz4+Prd4dERERGTKRL8IWiaTNftcEIQW2/6o/W+3GwwGuLq64qOPPkJoaCgeeughLFu2rNlptt9bsmQJysvLjY+8vLyOHg4RERGZAaVYX9jZ2RkKhaLFaE9RUVGLUZ7r3N3dW22vVCrh5OQEAPDw8ICFhQUUCoWxTXBwMLRaLXQ6HVQqVYvXVavVUKvVt3pIREREZCZEGwFSqVQIDQ1FfHx8s+3x8fGIiIhodZ/w8PAW7ePi4hAWFma84HnMmDHIyMiAwWAwtrlw4QI8PDxaDT9EREQkPaKeAouJicGGDRuwadMmpKWlYeHChcjNzUV0dDSAplNTs2fPNraPjo5GTk4OYmJikJaWhk2bNmHjxo1YtGiRsc28efNw7do1PPfcc7hw4QK+//57/Pvf/8bTTz/d7cdHREREpkm0U2AAMGvWLFy7dg3Lly9HYWEhQkJCEBsbCz8/PwBAYWFhszmBAgICEBsbi4ULF2LNmjXw9PTE6tWrMXPmTGMbHx8fxMXFYeHChRg8eDC8vLzw3HPPYfHixd1+fERERGSaRJ0HyFRxHiCino3zAHUNzgNEYjOLeYCIiIiIxMIARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBEREREksMARERERJLDAERERESSwwBERERE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S5YsQUFBAbZs2QKg6Y6vDz74ADExMXjyySeRmJiIjRs3Nru767nnnsO4cePwxhtvYNq0afj222/x448/4tChQ6IcIxEREZkeUQPQrFmzcO3aNSxfvhyFhYUICQlBbGws/Pz8AACFhYXIzf31dtWAgADExsZi4cKFWLNmDTw9PbF69WrjHEAAEBERga1bt+LFF1/ESy+9hN69e2Pbtm0mMQcQ0HS67eWXX25xyk2q2B+/Yl80x/5ojv3xK/ZFc+yPjhF1HiAiIiIiMXAtBCIiIpIcBiAiIiKSHAYgIiIikhwGICIiIpIcBqBudO+998LX1xcajQYeHh549NFHcfny5WZtcnNzcc8998DKygrOzs6YP38+dDqdSBV3jezsbDzxxBMICAiApaUlevfujZdffrnFcUqhL6577bXXEBERgV69et1wEk4p9cfatWsREBAAjUaD0NBQHDx4UOySusWBAwdwzz33wNPTEzKZDN98802z5wVBwD//+U94enrC0tISt912G86ePStOsV1sxYoVGDFiBGxsbODq6orp06cjPT29WRsp9ce6deswePBg42SH4eHhzRb9llJfdBYGoG40YcIEfPnll0hPT8f27dtx6dIl3H///cbn9Xo9pk6diurqahw6dAhbt27F9u3b8fzzz4tYdec7f/48DAYDPvzwQ5w9exbvvvsu1q9fj6VLlxrbSKUvrtPpdHjggQcwb968Vp+XUn9s27YNCxYswLJly5CSkoLIyEhMnjy52ZQYPVV1dTWGDBmCDz74oNXn33zzTaxcuRIffPABTpw4AXd3d0ycOBGVlT1vcdeEhAQ8/fTTOHr0KOLj49HY2IioqChUV1cb20ipP7y9vfH6668jKSkJSUlJuP322zFt2jRjyJFSX3QagUTz7bffCjKZTNDpdIIgCEJsbKwgl8uFgoICY5svvvhCUKvVQnl5uVhldos333xTCAgIMH4u1b7YvHmzYGdn12K7lPpj5MiRQnR0dLNt/fv3F1544QWRKhIHAGHnzp3Gzw0Gg+Du7i68/vrrxm11dXWCnZ2dsH79ehEq7F5FRUUCACEhIUEQBPaHIAiCg4ODsGHDBvZFB3EESCQlJSX47LPPEBERYVzGIzExESEhIc0WcZs0aRLq6+uRnJwsVqndory8HI6OjsbPpdwXrZFKf+h0OiQnJyMqKqrZ9qioKBw5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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## plot this residuals\n",
    "import seaborn as sns\n",
    "sns.distplot(residuals,kde=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "31f99b7c-a895-48a1-aeae-7ead7f1244fc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7fbf7bd5ff10>"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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N2TXXXdd5bF1T4MzK2fh2LFj8Y1vfCOKxWLMnTs3IiJ2794dv/jFL2Lp0qWV41pbW6O9vT2effbZvEateUNDQ3H77bfHfffdFx/84AdHPG/dx88TTzwR06ZNi6uuuipWr14dfX19lees+/k1NDQU27Zti6uuuio+9rGPxbRp0+Laa68d9paFNR9///M//xPbtm2LT3/605V91j0NYuUM/PM//3NcdtllUV9fH1/72tdix44d0dzcHBERvb29MXny5Lj88suHvWb69OnR29ubx7gXhAceeCAmTZoUn/vc50Z93rqPj+XLl8c//MM/xL/8y7/Egw8+GM8//3xcd911US6XI8K6n299fX1x5MiR+LM/+7NYtmxZPP7443HjjTfGTTfdFE8++WREWPNq+M53vhMNDQ1x0003VfZZ9zTU/L+6XE1LliyJvXv3xquvvhrf/OY347d/+7dj586dMW3atDFfk2VZFAqFKk554di9e3f89V//dezZs+eM19C6n5uVK1dW/ru9vT2uueaaaGtri23btg37i/ztrPvZGRoaioiIG264IT7/+c9HRMTVV18dzz77bPzt3/5tfPjDHx7ztdb8/PnWt74Vv/u7vzvsOqGxWPfqcmblDEyZMiWuvPLKWLhwYWzevDkmTZoUmzdvjoiIlpaWOHbsWLz22mvDXtPX1xfTp0/PY9ya9/TTT0dfX1/MnDkzJk2aFJMmTYqf//zn8YUvfCFmzZoVEda9WkqlUrS1tcWLL74YEdb9fGtubo5JkybFnDlzhu3/wAc+UPk0kDUfX08//XT89Kc/jd/7vd8btt+6p0GsnIMsyyqnxefPnx+XXHJJ7Nixo/J8T09P7Nu3LxYvXpzXiDXt9ttvj3/7t3+LvXv3VrbW1ta477774nvf+15EWPdqOXjwYHR3d0epVIoI636+TZ48OX71V381fvrTnw7b/x//8R/R1tYWEdZ8vG3evDnmz59fuQ7xOOueBm8D/dKRI0fipZdeqjzu6uqKvXv3RlNTU0ydOjXWr18fK1asiFKpFAcPHoyvf/3r8fLLL8ctt9wSERHFYjE+/elPxxe+8IWYOnVqNDU1xb333hsf+tCH4qMf/Whe31byTrbuM2fOjKlTpw47/pJLLomWlpZ43/veFxHW/WydbN2bmppi3bp1cfPNN0epVIqf/exn8cUvfjGam5vjxhtvjAjrfjZO9bN+3333xcqVK+M3f/M3Y8mSJbF9+/bYunVrPPHEExFhzc/WqdY9ImJgYCD+8R//MR588MERr7fuicjzo0gp+cEPfpBFxIht1apV2ZtvvpndeOONWWtrazZ58uSsVCplK1asyHbt2jXsa7z55pvZXXfdlTU1NWWXXnpp9vGPfzw7cOBATt9RbTjZuo/m7R9dzjLrfjZOtu7/93//ly1dujR717velV1yySXZzJkzs1WrVo1YU+t+Zk7nZ33z5s3ZlVdemdXX12dz587NtmzZMuxrWPMzdzrr/nd/93fZpZdemr3++uujfg3rnr9ClmVZ1coIAOAMuWYFAEiaWAEAkiZWAICkiRUAIGliBQBImlgBAJImVgCApIkVACBpYgUASJpYAQCSJlYAgKSJFQAgaf8PYCcjLS789DAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Scatter plot with respect to prediction and residuals\n",
    "## uniform distribution\n",
    "plt.scatter(y_pred_test,residuals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f0499e0b-42df-4b41-9cfc-9c676ae4355c",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "16ee745d-2665-41d3-8be1-94bad0bcad50",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6b0600eb-072b-4ab5-967e-145d0a23ff3c",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "13e6a09e-85ce-4f1d-b959-61cdd0072264",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "eca3ac8a-61fa-48ec-9ad2-638e6a4bdc1f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "356807ee-5cd3-4dae-9293-bfdb6413fa31",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "55fbe983-c1bf-4e69-bee0-1f012ef93625",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
